package com.fgxia.driver.domain.bo;

import com.ruoyi.common.core.domain.BaseEntity;
import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * 运单业务对象 freight_info
 *
 * @author ruoyi
 * @date 2024-04-24
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class DriverFreightBo extends BaseEntity {

    /**
     * 运单id
     */
    @NotNull(message = "运单id不能为空", groups = { EditGroup.class })
    private Long freightId;

    /**
     * 运单id
     */
    @NotNull(message = "运单id不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long orderId;

    /**
     * 订单号(冗余)
     */
    @NotBlank(message = "订单号(冗余)不能为空", groups = { AddGroup.class, EditGroup.class })
    private String orderNo;

//    /**
//     * 是否紧急
//     */
//    @NotBlank(message = "是否紧急不能为空", groups = { AddGroup.class, EditGroup.class })
//    private String isUrgency;
//
//    /**
//     * 是否异常
//     */
//    @NotBlank(message = "是否异常不能为空", groups = { AddGroup.class, EditGroup.class })
//    private String isAbnormal;

//    /**
//     * 紧急备注
//     */
//    @NotBlank(message = "紧急备注不能为空", groups = { AddGroup.class, EditGroup.class })
//    private String urgencyRemark;

//    /**
//     * 异常备注
//     */
//    @NotBlank(message = "异常备注不能为空", groups = { AddGroup.class, EditGroup.class })
//    private String abnormalRemark;

    /**
     * 账号id(当前运单)
     */
    @NotNull(message = "账号id(当前运单)不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long relevanceUserId;

//    /**
//     * 司机名称
//     */
//    @NotBlank(message = "司机名称不能为空", groups = { AddGroup.class, EditGroup.class })
//    private String driverName;

//    /**
//     * 司机电话
//     */
//    @NotBlank(message = "司机电话不能为空", groups = { AddGroup.class, EditGroup.class })
//    private String driverTel;

//    /**
//     * 司机类型(直营|专线|众包)
//     */
//    @NotBlank(message = "司机类型(直营|专线|众包)不能为空", groups = { AddGroup.class, EditGroup.class })
//    private String driverType;

//    /**
//     * 运单金额
//     */
//    @NotNull(message = "运单金额不能为空", groups = { AddGroup.class, EditGroup.class })
//    private BigDecimal freightAmount;

//    /**
//     * 运单类型(零担|整车)
//     */
//    @NotBlank(message = "运单类型(零担|整车)不能为空", groups = { AddGroup.class, EditGroup.class })
//    private String freightType;

//    /**
//     * 运单状态(初始化|待提货|配送中|待回单|待打款|已完成)
//     */
//    @NotBlank(message = "运单状态(初始化|待提货|配送中|待回单|待打款|已完成)不能为空", groups = { AddGroup.class, EditGroup.class })
//    private String freightStatus;

//    /**
//     * 备注
//     */
//    @NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class })
//    private String remark;

//    /**
//     * 删除标志（0代表存在 1代表删除）
//     */
//    @NotNull(message = "删除标志（0代表存在 1代表删除）不能为空", groups = { AddGroup.class, EditGroup.class })
//    private Integer isDeleted;

    /**
     * 提货车辆照(03正面)
     */
    @NotBlank(message = "提货车辆照(03正面)不能为空", groups = { AddGroup.class, EditGroup.class })
    private String loadingDriverUrl03;

    /**
     * 提货车辆照(04侧面)
     */
    @NotBlank(message = "提货车辆照(04侧面)不能为空", groups = { AddGroup.class, EditGroup.class })
    private String loadingDriverUrl04;

    /**
     * 提货车辆照(05后面)
     */
    @NotBlank(message = "提货车辆照(05后面)不能为空", groups = { AddGroup.class, EditGroup.class })
    private String loadingDriverUrl05;

    /**
     * 提货货物照
     */
    private String loadingGoodsUrl01;

    /**
     * 提货货物照
     */
    private String loadingGoodsUrl02;

    /**
     * 提货重量(t)
     */
    @NotNull(message = "提货重量(t)不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long loadingWeight;

    /**
     * 卸货车辆照(03正面)
     */
    @NotBlank(message = "卸货车辆照(03正面)不能为空", groups = { AddGroup.class, EditGroup.class })
    private String receivingDriverUrl03;

    /**
     * 卸货车辆照(04侧面)
     */
    @NotBlank(message = "卸货车辆照(04侧面)不能为空", groups = { AddGroup.class, EditGroup.class })
    private String receivingDriverUrl04;

    /**
     * 卸货车辆照(05后面)
     */
    @NotBlank(message = "卸货车辆照(05后面)不能为空", groups = { AddGroup.class, EditGroup.class })
    private String receivingDriverUrl05;

    /**
     * 卸货货物照
     */
    private String receivingGoodsUrl01;

    /**
     * 卸货货物照
     */
    private String receivingGoodsUrl02;


//    /**
////     * 实际装货时间
////     */
//    @NotNull(message = "实际装货时间不能为空", groups = { AddGroup.class, EditGroup.class })
//    private Date loadingTimeDay;
//
//    /**
//     * 实际到货时间
//     */
//    @NotNull(message = "实际到货时间不能为空", groups = { AddGroup.class, EditGroup.class })
//    private Date receivingTimeDay;

//    /**
//     * 车牌号
//     */
//    @NotBlank(message = "车牌号不能为空", groups = { AddGroup.class, EditGroup.class })
//    private String driverCarNumber;

//    /**
//     * 二级中转地址
//     */
//    @NotBlank(message = "二级中转地址不能为空", groups = { AddGroup.class, EditGroup.class })
//    private String secondLevelAddress;
//
//    /**
//     * 二级中转经度
//     */
//    @NotBlank(message = "二级中转经度不能为空", groups = { AddGroup.class, EditGroup.class })
//    private String secondLevelLongitude;
//
//    /**
//     * 二级中转纬度
//     */
//    @NotBlank(message = "二级中转纬度不能为空", groups = { AddGroup.class, EditGroup.class })
//    private String secondLevelLatitude;
//
//    /**
//     * 二级中转联系人
//     */
//    @NotBlank(message = "二级中转联系人不能为空", groups = { AddGroup.class, EditGroup.class })
//    private String secondLevelLinkman;
//
//    /**
//     * 二级中转联系电话
//     */
//    @NotBlank(message = "二级中转联系电话不能为空", groups = { AddGroup.class, EditGroup.class })
//    private String secondLevelTel;
//
//    /**
//     * 单号
//     */
//    @NotBlank(message = "单号不能为空", groups = { AddGroup.class, EditGroup.class })
//    private String code;
//
//    /**
//     * 货物数量(分担多少)
//     */
//    @NotNull(message = "货物数量(分担多少)不能为空", groups = { AddGroup.class, EditGroup.class })
//    private Long goodsNumSum;
//
//    /**
//     * 货物数量单位
//     */
//    @NotBlank(message = "货物数量单位不能为空", groups = { AddGroup.class, EditGroup.class })
//    private String goodsNumUnit;
//
//    /**
//     * 货物重量(吨)(分担多少)
//     */
//    @NotNull(message = "货物重量(吨)(分担多少)不能为空", groups = { AddGroup.class, EditGroup.class })
//    private BigDecimal goodsWeightSum;
//
//    /**
//     * 货物体积(分担多少)
//     */
//    @NotNull(message = "货物体积(分担多少)不能为空", groups = { AddGroup.class, EditGroup.class })
//    private BigDecimal goodsVolumeSum;

    /**
     * 上报司机经度
     */
    private String driverLng;

    /**
     * 上报司机纬度
     */
    private String driverLat;

    /**
     * address
     */
    private String trail;

    /**
     * 回单图片地址
     */
    private String receiveImgUrl;
}
